/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package archivo;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;

/**
 *
 * @author James
 */
public class Archivo {
    public static void main(String args[]){
//      D:\logapache\doc
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\11_10_13.txt","D:\\logapache\\doc\\R2\\11_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\12_10_13.txt","D:\\logapache\\doc\\R2\\12_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\13_10_13.txt","D:\\logapache\\doc\\R2\\13_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\14_10_13.txt","D:\\logapache\\doc\\R2\\14_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\15_10_13.txt","D:\\logapache\\doc\\R2\\15_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\16_10_13.txt","D:\\logapache\\doc\\R2\\16_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\17_10_13.txt","D:\\logapache\\doc\\R2\\17_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\18_10_13.txt","D:\\logapache\\doc\\R2\\18_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\19_10_13.txt","D:\\logapache\\doc\\R2\\19_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\20_10_13.txt","D:\\logapache\\doc\\R2\\20_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\21_10_13.txt","D:\\logapache\\doc\\R2\\21_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\22_10_13.txt","D:\\logapache\\doc\\R2\\22_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\23_10_13.txt","D:\\logapache\\doc\\R2\\23_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\24_10_13.txt","D:\\logapache\\doc\\R2\\24_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\25_10_13.txt","D:\\logapache\\doc\\R2\\25_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\26_10_13.txt","D:\\logapache\\doc\\R2\\26_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\27_10_13.txt","D:\\logapache\\doc\\R2\\27_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\28_10_13.txt","D:\\logapache\\doc\\R2\\28_10_13.txt");
        //leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\29_10_13.txt","D:\\logapache\\doc\\R2\\29_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\30_10_13.txt","D:\\logapache\\doc\\R2\\30_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\31_10_13.txt","D:\\logapache\\doc\\R2\\31_10_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\01_11_13.txt","D:\\logapache\\doc\\R2\\01_11_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\02_11_13.txt","D:\\logapache\\doc\\R2\\02_11_13.txt");
        leerCorridaReporte("D:\\logapache\\doc\\Corridas_PRD\\03_11_13.txt","D:\\logapache\\doc\\R2\\03_11_13.txt");
    }
    public static void leerCorridaReporte(String rutaLectura,String rutaEscritura){
        File archivo = null;
        FileReader fr = null;
        BufferedReader br = null;
        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            archivo = new File (rutaLectura);
            fr = new FileReader (archivo);
            br = new BufferedReader(fr);
            
            //Variables para escribir
            FileWriter fichero = null;
            PrintWriter pw = null;
            
            //Escritura en Archivo
            fichero = new FileWriter(rutaEscritura);
            pw = new PrintWriter(fichero);
            
            // Lectura del fichero
            String linea;
            //UN Auxiliar
            String aux=null,esc=null;
            int cont=0,iterH=0,iterM=0,iterS=0;
            //Haciendo el Vector que contendra el numero de elementos
            int vector[][][]=new int[24][60][60];//Horas, Minutos, Segundos
            for (int i = 0; i < 24; i++) {
                for (int j = 0; j < 60; j++) {
                    for (int k = 0; k < 60; k++) {
                        vector[i][j][k]=0;
                    }
                }
            }
            while((linea=br.readLine())!=null){
//                System.out.println("--"+linea+"--");
                try {
                    iterH=Integer.parseInt(linea.substring(29,31));
                    iterM=Integer.parseInt(linea.substring(32,34));
                    iterS=Integer.parseInt(linea.substring(35,37));
//                    System.out.println("----->"+iterH+"------"+iterM+"------"+iterS+"------");
                    vector[iterH][iterM][iterS]=vector[iterH][iterM][iterS]+1;
                } catch (Exception e) {
                    System.out.println("El culpable es -->"+linea);
                }
            }
            
            for (int i = 0; i < 24; i++) {
                for (int j = 0; j < 60; j++) {
                    for (int k = 0; k < 60; k++) {
//                        if(vector[i][j][k]!=0)
//                        System.out.println("--"+vector[i][j][k]+"-"+i+"-"+j+"-"+k+"-");
                        pw.println("--"+i+"-"+j+"-"+k+"--"+vector[i][j][k]);
                    }
                }
            }
        }
        catch(Exception e){
            e.printStackTrace();
        }finally{
            // En el finally cerramos el fichero, para asegurarnos
            // que se cierra tanto si todo va bien como si salta 
            // una excepcion.
            try{                    
                if( null != fr ){   
                    fr.close();     
                }                  
            }catch (Exception e2){ 
                e2.printStackTrace();
            }
        }
    }
}
